half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
↳ QTRS
↳ DependencyPairsProof
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
CONV1(s1(x)) -> CONV1(half1(s1(x)))
LASTBIT1(s1(s1(x))) -> LASTBIT1(x)
CONV1(s1(x)) -> LASTBIT1(s1(x))
CONV1(s1(x)) -> HALF1(s1(x))
HALF1(s1(s1(x))) -> HALF1(x)
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
CONV1(s1(x)) -> CONV1(half1(s1(x)))
LASTBIT1(s1(s1(x))) -> LASTBIT1(x)
CONV1(s1(x)) -> LASTBIT1(s1(x))
CONV1(s1(x)) -> HALF1(s1(x))
HALF1(s1(s1(x))) -> HALF1(x)
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
LASTBIT1(s1(s1(x))) -> LASTBIT1(x)
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
LASTBIT1(s1(s1(x))) -> LASTBIT1(x)
POL( s1(x1) ) = 2x1 + 1
POL( LASTBIT1(x1) ) = max{0, x1 - 1}
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
HALF1(s1(s1(x))) -> HALF1(x)
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
HALF1(s1(s1(x))) -> HALF1(x)
POL( HALF1(x1) ) = max{0, x1 - 1}
POL( s1(x1) ) = 2x1 + 1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
CONV1(s1(x)) -> CONV1(half1(s1(x)))
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONV1(s1(x)) -> CONV1(half1(s1(x)))
POL( 0 ) = max{0, -1}
POL( s1(x1) ) = 2x1 + 1
POL( half1(x1) ) = max{0, x1 - 2}
POL( CONV1(x1) ) = x1 + 2
half1(0) -> 0
half1(s1(s1(x))) -> s1(half1(x))
half1(s1(0)) -> 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
half1(0) -> 0
half1(s1(0)) -> 0
half1(s1(s1(x))) -> s1(half1(x))
lastbit1(0) -> 0
lastbit1(s1(0)) -> s1(0)
lastbit1(s1(s1(x))) -> lastbit1(x)
conv1(0) -> cons2(nil, 0)
conv1(s1(x)) -> cons2(conv1(half1(s1(x))), lastbit1(s1(x)))